﻿
Partial Class detalle
    Inherits System.Web.UI.Page

    Dim strID As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not HttpContext.Current.User.Identity.IsAuthenticated Then
            'FormsAuthentication.RedirectToLoginPage("detalle.aspx" & Request.QueryString("id").ToString)
            Response.Redirect(FormsAuthentication.LoginUrl)
        End If

        strID = Request.QueryString("id").ToString

        If strID <> "" Then
            Dim objArt As New clsArticulo
            Dim objArt2 As Object

            objArt2 = objArt.Get_Articulo(strID)

            If objArt2.HasRows Then
                While objArt2.Read
                    txtFechaSolicitud.Text = objArt2("capart_fecha").ToString
                    txtUsuarioCaptura.Text = objArt2("usuario_captura").ToString

                    'txtArticulo.Text = objArt2("Articulo").ToString
                    'If objArt.Get_Articulos(objArt2("Articulo").ToString).Rows.Count >= 1 Then
                    '    imgRama_OK.Visible = True
                    '    imgRama_NOT.Visible = False
                    'Else
                    '    imgRama_OK.Visible = False
                    '    imgRama_NOT.Visible = True
                    'End If


                    txtRama.Text = objArt2("rama").ToString
                    Dim objRama As New clsRama
                    If objRama.Get_Rama(objArt2("rama").ToString).Rows.Count >= 1 Then
                        imgRama_OK.Visible = True
                        imgRama_NOT.Visible = False
                    Else
                        imgRama_OK.Visible = False
                        imgRama_NOT.Visible = True
                    End If

                    txtCategoria.Text = objArt2("categoria").ToString
                    Dim objCategoria As New clsCategoria
                    If objCategoria.Get_Categorias(objArt2("rama").ToString, objArt2("categoria").ToString).Rows.Count >= 1 Then
                        imgCategoria_OK.Visible = True
                        imgCategoria_NOT.Visible = False
                    Else
                        imgCategoria_OK.Visible = False
                        imgCategoria_NOT.Visible = True
                    End If

                    txtGrupo.Text = objArt2("grupo").ToString
                    Dim objGrupo As New clsGrupos
                    If objGrupo.Get_Grupos(objArt2("grupo").ToString).Rows.Count >= 1 Then
                        imgGrupo_OK.Visible = True
                        imgGrupo_NOT.Visible = False

                    Else
                        imgGrupo_OK.Visible = False
                        imgGrupo_NOT.Visible = True

                    End If

                    txtFamilia.Text = objArt2("familia").ToString
                    Dim objFamilia As New clsFamilias
                    If objFamilia.Get_Familias(objArt2("grupo").ToString, objArt2("familia").ToString).Rows.Count >= 1 Then
                        imgFamilia_OK.Visible = True
                        imgFamilia_NOT.Visible = False

                    Else
                        imgFamilia_OK.Visible = False
                        imgFamilia_NOT.Visible = True

                    End If

                    txtVariedad.Text = objArt2("variedad").ToString
                    Dim objVariedad As New clsVariedad
                    If objVariedad.Do_BuscaVariedades(objArt2("familia").ToString, objArt2("variedad").ToString).Rows.Count >= 1 Then
                        imgVariedad_OK.Visible = True
                        imgVariedad_NOT.Visible = False

                    Else
                        imgVariedad_OK.Visible = False
                        imgVariedad_NOT.Visible = True

                    End If

                    txtCalidad.Text = objArt2("calidad").ToString
                    Dim objCalidad As New clsCalidad
                    If objCalidad.Do_BuscaCalidad(objArt2("familia").ToString, objArt2("calidad").ToString).Rows.Count >= 1 Then
                        imgCalidad_OK.Visible = True
                        imgCalidad_NOT.Visible = False

                    Else
                        imgCalidad_OK.Visible = False
                        imgCalidad_NOT.Visible = True

                    End If

                    txtOrigen.Text = objArt2("origen").ToString

                    txtPais.Text = objArt2("pais").ToString
                    Dim objPais As New clsPaises
                    If objPais.Get_Paises(objArt2("pais").ToString).Rows.Count >= 1 Then
                        imgPais_OK.Visible = True
                        imgPais_NOT.Visible = False

                    Else
                        imgPais_OK.Visible = False
                        imgPais_NOT.Visible = True

                    End If

                    txtMarca.Text = objArt2("marca").ToString
                    Dim objMarca As New clsMarca
                    If objMarca.Get_Marcas(objArt2("grupo").ToString, objArt2("marca").ToString).Rows.Count >= 1 Then
                        imgMarca_OK.Visible = True
                        imgMarca_NOT.Visible = False

                    Else
                        imgMarca_OK.Visible = False
                        imgMarca_NOT.Visible = True

                    End If

                    txtTipoEmpaque.Text = objArt2("tipoempaque").ToString
                    Dim objTipoEmpaque As New clsTipoEmpaque
                    If objTipoEmpaque.Get_TipoEmpaques(objArt2("rama").ToString, objArt2("tipoempaque").ToString).Rows.Count >= 1 Then
                        imgTipoEmbarque_OK.Visible = True
                        imgTipoEmbarque_NOT.Visible = False
                    Else
                        imgTipoEmbarque_OK.Visible = False
                        imgTipoEmbarque_NOT.Visible = True
                    End If

                    txtPresentacion.Text = objArt2("presentacion").ToString
                    Dim objPresentacion As New clsPresentacion
                    If objPresentacion.Get_Presentacion(objArt2("TipoEmpaque").ToString, objArt2("presentacion").ToString).Rows.Count >= 1 Then
                        imgPresentacion_OK.Visible = True
                        imgPresentacion_NOT.Visible = False
                    Else
                        imgPresentacion_OK.Visible = False
                        imgPresentacion_NOT.Visible = True

                    End If

                    txtCosecha.Text = objArt2("cosecha").ToString
                    Dim objCosescha As New clsFamilias
                    If objCosescha.Get_Cosechas(objArt2("familia").ToString).Rows.Count >= 1 Then
                        imgCosecha_OK.Visible = True
                        imgCosecha_NOT.Visible = False
                    Else
                        imgCosecha_OK.Visible = False
                        imgCosecha_NOT.Visible = True

                    End If

                    txtGrupo2.Text = objArt2("grupo2").ToString

                    txtDescInt.Text = objArt2("descripcion1").ToString
                    txtDescFac.Text = objArt2("descripcion2").ToString

                    txtLinea.Text = objArt2("linea").ToString
                    Dim objLinea As New clsLinea
                    If objLinea.Do_BuscaLineas(objArt2("linea").ToString).Rows.Count >= 1 Then
                        imgLiena_OK.Visible = True
                        imgLinea_NOT.Visible = False
                        'txtLinea.BackColor = Drawing.Color.White
                        lblMensaje.Text = ""
                    Else
                        imgLiena_OK.Visible = False
                        imgLinea_NOT.Visible = True
                        'txtLinea.BackColor = Drawing.Color.Red
                        lblMensaje.Text = "ATENCIÓN: Si autoriza esta solicitud se creará una linea nueva"
                    End If

                    If objArt2("capart_estatus").ToString.Trim = "A" Then
                        btnAutorizar.Enabled = False
                    End If

                End While

                'VALIDAR SI EL USUARIO PUEDE AUTORIZAR
                '----------------------------------------------------
                Dim objUsuario As New clsUsuarios

                If Not objUsuario.GetConfigArt(HttpContext.Current.User.Identity.Name.ToString) Then
                    btnAutorizar.Enabled = False
                    btnRechazar.Enabled = False
                End If
                '----------------------------------------------------

            End If

        End If

    End Sub

    Protected Sub btnRechazar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRechazar.Click
        Dim objArt As New clsArticulo

        objArt.Do_ExecuteNonQuery("Update art_captura set capart_estatus='R', usuario_autoriza='" & HttpContext.Current.User.Identity.Name & "' where capart_id=" & strID)
        'MsgBox("Articulo Rechazado")

        DoEnviaCorreo(txtUsuarioCaptura.Text, txtDescInt.Text, "RECHAZADO", "")

        Response.Redirect("Listado.aspx")

    End Sub

    Protected Sub btnAutorizar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAutorizar.Click
        Dim objArt As New clsArticulo

        'MsgBox("Articulo Autorizado")


        '------------------------------------------
        'afectaciones a la tabla art de intelisis
        '------------------------------------------

        'creacion de la linea
        '------------------------------------------
        Dim objLinea As New clsLinea
        If objLinea.Do_BuscaLineas(txtLinea.Text.Trim).Rows.Count = 0 Then
            objLinea.linea = txtLinea.Text.Trim
            If Not objLinea.DoInsert() Then
                'MsgBox("Ocurrio un error al insertar la linea")

            End If

        End If

        'creacion del articulo
        '------------------------------------------
        'MsgBox(objArt.Get_NextClaveArticulo)
        objArt.Articulo = objArt.Get_NextClaveArticulo()
        objArt.Usuario_Autoriza = HttpContext.Current.User.Identity.Name
        objArt.DescInterna = txtDescInt.Text.Trim
        objArt.DescFacturacion = txtDescFac.Text.Trim
        objArt.Linea = txtLinea.Text.Trim
        objArt.Rama = txtRama.Text.Trim
        objArt.Categoria = txtCategoria.Text.Trim
        objArt.Grupo = txtGrupo.Text.Trim
        objArt.Familia = txtFamilia.Text.Trim
        objArt.Variedad = txtVariedad.Text.Trim
        objArt.Calidad = txtCalidad.Text.Trim
        objArt.Origen = txtOrigen.Text.Trim
        objArt.Pais = txtPais.Text.Trim
        objArt.Marca = txtMarca.Text.Trim
        objArt.TipoEmpaque = txtTipoEmpaque.Text.Trim
        objArt.Presentacion = txtPresentacion.Text.Trim
        objArt.Cosecha = txtCosecha.Text.Trim

        If objArt.doInsert_into_Intelisis() > 0 Then
            'Registro insertado
        Else
            'error de insersion del registro

        End If

        'actualizamos el registro de la solicitud
        objArt.Do_ExecuteNonQuery("Update art_captura set capart_estatus='A', articulo='" & objArt.Articulo & "', usuario_autoriza='" & HttpContext.Current.User.Identity.Name & "' where capart_id=" & strID)

        ' se envia el correo al solicitante
        DoEnviaCorreo(txtUsuarioCaptura.Text, txtDescInt.Text, "AUTORIZADO", objArt.Articulo)

        Response.Redirect("Listado.aspx")

    End Sub

    Sub DoEnviaCorreo(ByVal strUsuario As String, ByVal strDescripcionArt As String, ByVal strEstatus As String, ByVal strArt_Clave As String)
        Dim objCorreo As New System.Net.Mail.MailMessage()
        Dim objUsuario As New clsUsuarios
        Dim strBody As String

        objCorreo.From = New System.Net.Mail.MailAddress("articulos@dinavi.com.mx")
        objUsuario.DoBuscaUsuario(strUsuario)
        objCorreo.To.Add(objUsuario.eMail)
        objCorreo.Subject = "Captura de Articulos"

        strBody = "El articulo solicitado: " & vbNewLine
        strBody = strBody & """" & strDescripcionArt & """" & vbNewLine
        strBody = strBody & "ha sido: """ & strEstatus & """"
        If strArt_Clave <> "" Then
            strBody = strBody & " con la clave: " & strArt_Clave
        End If


        objCorreo.Body = strBody
        'Estabvlece en TRUE si vas a enviar codigo HTML
        objCorreo.IsBodyHtml = True
        'Prioridad del Correo Alta, Baja, Normal
        objCorreo.Priority = System.Net.Mail.MailPriority.Normal

        Dim smtp As New System.Net.Mail.SmtpClient

        '---------------------------------------------
        ' Estos datos debes rellanarlos correctamente
        '---------------------------------------------
        smtp.Host = "dinavi.com.mx"
        'Indicar el puerto en caso de que no sea el Standard (25)
        'smtp.Port = "###"
        smtp.Credentials = New System.Net.NetworkCredential("articulos@dinavi.com.mx", "dinavi")
        'Establece en True Cuando el Servidor Requiere una conexion segura
        smtp.EnableSsl = False

        Try
            smtp.Send(objCorreo)
            'MsgBox("Mensaje enviado satisfactoriamente")
        Catch ex As Exception
            'MsgBox("ERROR: " & ex.Message)
        End Try

    End Sub

End Class
